package com.ydd.service.impl;


import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.ydd.dto.YddAdvimgPageDTO;
import com.ydd.dto.YddadvimgDTO;
import com.ydd.entity.YddAdvimg;
import com.ydd.mapper.YddAdvimgMapper;
import com.ydd.result.PageResult;
import com.ydd.service.YddAdvimgService;
import com.ydd.vo.YddAdvimgVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class YddAdvimgServiceImpl implements YddAdvimgService {

    @Autowired
    private YddAdvimgMapper yddAdvimgMapper;
    /**
     * 广告图列表-分页
     *
     * @param yddAdvimgPageDTO
     * @return
     */
    @Override
    public PageResult pageQueryList(YddAdvimgPageDTO yddAdvimgPageDTO) {

        // 使用PageHelper设置 当前页和每页显示数
        PageHelper.startPage(yddAdvimgPageDTO.getPage(), yddAdvimgPageDTO.getLimit());

        // 调用yddAdvimgMapper执行查询语句，返回结果用PageHelper的Page接收
        Page<YddAdvimgVO> page = yddAdvimgMapper.selectALL(yddAdvimgPageDTO);

        PageResult pageResult = PageResult.builder()
                .pageSize(yddAdvimgPageDTO.getLimit())
                .currentPage(yddAdvimgPageDTO.getPage())
                .totalPages(page.getPages())
                .count(page.getTotal())
                .data(page.getResult())
                .build();

        return pageResult;

    }

    /**
     * 广告图详情
     *
     * @param id
     * @return
     */
    @Override
    public YddAdvimgVO getRowInfoById(Integer id) {

        YddAdvimg yddAdvimg = yddAdvimgMapper.getInfoById(id);

        YddAdvimgVO yddAdvimgVO = new YddAdvimgVO();
        BeanUtils.copyProperties(yddAdvimg, yddAdvimgVO);

        return yddAdvimgVO;
    }

    /**
     * GET 广告图删除
     *
     * @param id
     */
    @Override
    public void deleteByYddId(Integer id) {
        yddAdvimgMapper.deleteById(id);
    }

    /**
     * GET 广告图添加
     *
     * @param yddadvimgDTO
     */
    @Override
    public void addYddadvimg(YddadvimgDTO yddadvimgDTO) {

        YddAdvimg yddAdvimg = new YddAdvimg();
        BeanUtils.copyProperties(yddadvimgDTO, yddAdvimg);
        yddAdvimg.setDefaultData("1");
        yddAdvimgMapper.add(yddAdvimg);
    }

    /**
     * POST 广告图修改
     *
     * @param yddadvimgDTO
     */
    @Override
    public void YddAdvimgUpdate(YddadvimgDTO yddadvimgDTO) {
        YddAdvimg yddAdvimg = new YddAdvimg();
        BeanUtils.copyProperties(yddadvimgDTO, yddAdvimg);
        yddAdvimg.setDefaultData("1");

        yddAdvimgMapper.updateById(yddAdvimg);
    }
}
